#ifndef CHAT_DB_H
#define CHAT_DB_H

#include <iostream>
#include <string>
#include <mysql.h>
#include <ctime>
#include <muduo/base/Logging.h>
#include "DataBase.hpp"

using namespace std;

//!todo 写配置文件
// 数据库配置信息
static string serverIP = "127.0.0.1";
static string userName = "root";
static string password = "123456";
static string dbname = "chat";

// 数据库操作类
class Connection
{
public:
    // 初始化数据库连接
    Connection();
    // 释放数据库连接资源
    ~Connection();
    // 连接数据库
    bool connect(const MySQLConfig& mysqlConfig);
    // 更新操作
    bool update(string sql);
    // 查询操作
    MYSQL_RES* query(string sql);
    //获取连接
    MYSQL *getConn() const;
    //产生新连接时，记录该时刻
    void refreshAliveTime();
    //获取存活的时间
    clock_t getAliveTime();
private:
    MYSQL *_conn;
    clock_t _aliveTime;//记录进入空闲状态后的存活时间
};


#endif